package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目对象 t_base_project
 * 
 * @author ruoyi
 * @date 2024-03-21
 */
public class TBaseProject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目ID */
    private Long projectId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 合同金额 */
    @Excel(name = "合同金额")
    private BigDecimal projectMoney;

    /** 期数 */
    @Excel(name = "期数")
    private Integer periods;

    /** 税率 */
    @Excel(name = "税率")
    private BigDecimal taxRate;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 0:删除1：正常 */
    @Excel(name = "0:删除1：正常")
    private String disable;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createPerson;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updatePerson;


    /** 附件 */
    @Excel(name = "附件")
    private String attachment;


    /**
     * 项目周期明细
     */
    private List<TBaseProjectDetails> detailsList;

    public Integer getPeriods() {
        return periods;
    }

    public void setPeriods(Integer periods) {
        this.periods = periods;
    }

    public BigDecimal getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(BigDecimal taxRate) {
        this.taxRate = taxRate;
    }

    public List<TBaseProjectDetails> getDetailsList() {
        return detailsList;
    }

    public void setDetailsList(List<TBaseProjectDetails> detailsList) {
        this.detailsList = detailsList;
    }

    public String getAttachment() {
        return attachment;
    }

    public void setAttachment(String attachment) {
        this.attachment = attachment;
    }

    public void setProjectId(Long projectId)
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setProjectMoney(BigDecimal projectMoney) 
    {
        this.projectMoney = projectMoney;
    }

    public BigDecimal getProjectMoney() 
    {
        return projectMoney;
    }
    public void setBeginDate(Date beginDate) 
    {
        this.beginDate = beginDate;
    }

    public Date getBeginDate() 
    {
        return beginDate;
    }
    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getEndDate() 
    {
        return endDate;
    }
    public void setDisable(String disable) 
    {
        this.disable = disable;
    }

    public String getDisable() 
    {
        return disable;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setCreatePerson(String createPerson) 
    {
        this.createPerson = createPerson;
    }

    public String getCreatePerson() 
    {
        return createPerson;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setUpdatePerson(String updatePerson) 
    {
        this.updatePerson = updatePerson;
    }

    public String getUpdatePerson() 
    {
        return updatePerson;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("projectId", getProjectId())
            .append("projectName", getProjectName())
            .append("projectMoney", getProjectMoney())
            .append("beginDate", getBeginDate())
            .append("endDate", getEndDate())
            .append("disable", getDisable())
            .append("createDate", getCreateDate())
            .append("createPerson", getCreatePerson())
            .append("updateDate", getUpdateDate())
            .append("updatePerson", getUpdatePerson())
            .toString();
    }
}
